package jvm.c4_RuntimeDataAreaAndInstructionSet;

public class TestIPulsPlus {
    public static void main(String[] args) {
        /*
        *  i = i++;的过程：
        * 0 bipush 8（将8压入操作数栈operand stack）
        * 2 istore_1（将操作数栈的栈顶位置的数pop出，并赋值给局部变量表中1位置的变量）
        * 3 iload_1（读取局部变量表1位置的数，并将读取到的数push到操作数栈中）
        * 4 iinc 1 by 1（将局部变量表中1位置的数加1）
        * 7 istore_1（将操作数栈的栈顶位置的数pop出，并赋值给局部变量表中1位置的变量）
        *
        * i = ++i;的过程：
        * 0 bipush 8
        * 2 istore_1
        * 3 iinc 1 by 1
        * 6 iload_1
        * 7 istore_1
        * */
        int i = 8;
//        i = i++;
        i = ++i;
        System.out.println(i);
    }
}
